其他
OpenJDK提案将提供Java类文件API
JDK 整合。JDK 本身在处理类文件方面很重要。JDK 使用 ASM 存在固有的延迟,JDK 开发人员需要一个与 JVMS 保持同步的字节码库。
框架和运行 JDK 之间的版本偏差。处理类文件的应用程序和框架通常捆绑一个类文件库,例如 ASM、cglib 等。但是由于新的类文件功能可以出现在任何 JDK 版本中,且在 Java 9 之后 JDK 的发布速度大大加快,应用程序和框架更频繁地遇到比它们捆绑的库更新的类文件,从而导致运行时错误(或者更糟糕的是,框架试图 “从未来” 解析类文件格式)。开发人员需要一个与运行 JDK 保持同步的类文件库。
JVM 进化。与 Java 早期相比,JVM 和类文件格式现在的发展速度要快得多。虽然有些演变很简单,但有些演变更复杂,例如 Project Valhalla 带来了新的字节码、字段描述符和验证规则。在某些时候,改进现有库以支持这些新功能可能会代价很大或很复杂。
语言改进。自从编写 ASM 以来,该语言已经有了很大的改进,这意味着在 2002 年可能是最好的 API 习惯用法在 20 年后却可能并不理想。
更多详情可查看提案:https://bugs.openjdk.org/browse/JDK-8280389
更多精彩